/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ares.service.util;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 *
 * @author electro
 */
public class ContarPalabras {

    public List<String> cortarPalabras (String texto){
        List<String> lista = new ArrayList<String>();
//        System.out.println("la longitud del texto es: " + texto.length());
//        System.out.println("la longitud del texto es: " + texto.split(" ").length);
        StringBuilder auxiliar2 = new StringBuilder();

        if(texto.split(" ").length > 0){
            String[] strAux = texto.split(" ");
            int longitud = 0;
//            System.out.println("la longitud es: " + strAux[0].length());
            longitud = strAux[0].length();

            auxiliar2.append(strAux[0]);

            for (int i = 1; i < strAux.length; i++) {
                longitud = longitud + strAux[i].length() + 1;
                if(longitud < 79){
                    auxiliar2.append(" ").append(strAux[i]) ;
                }
                else{
                    lista.add(auxiliar2.toString());
                    auxiliar2.delete(0, auxiliar2.length());
                    auxiliar2.append(strAux[i]);
                    longitud = strAux[i].length();
                }
            }
        }        
        lista.add(auxiliar2.toString());
        return lista;
    }

    
    public String validarIngreso(String texto){
        String auxiliar = texto.replace("%", "A333");
        return auxiliar;
}


    public String juntarPalabras(List<String> lista){
        String rpta = "";
        StringBuilder texto = new StringBuilder();
        for (String fila: lista) {
            System.out.println("Fila: " + fila);
            texto.append(fila).append(" ");
            
        }
        rpta = texto.toString();
        return rpta;
    }

    public static void main(String[] args) {      
        ContarPalabras contarPalabras = new ContarPalabras();
        String strPrueba = "Desarrollo guiado por pruebas, o Test-driven development (TDD) es una práctica de programación que involucra otras dos prácticas: Escribir las pruebas primero (Test First Development) y Debes confirmar tu dirección electrónica antes de editar páginas. Por favor, establece y valida una dirección electrónica a través de tus preferencias de usuario.";
//        List<String> lista = new ArrayList<String>();
//        lista = contarPalabras.cortarPalabras(strPrueba);
//        for (String fila : lista) {
//            System.out.println("Fila: " + fila);
//        }
//        System.out.println("Unir palabras:");
//        String cadena = "";
//        cadena = contarPalabras.juntarPalabras(lista);
//        System.out.println("la palabra es: " +cadena);
        //System.out.println(contarPalabras.validarIngreso("% probar %% si fnka es.. % asd"));
        String aux = "hola";
        String aux1 = "hola  ";
        System.out.println("con espacios:" + aux1);
        System.out.println("sin espacios:" + aux);

    }
}

